package cn.com.dcsgo.design.pattern.builder.car;

/**
 * 汽车生产过程-生成器接口
 * 定义生产汽车的所有可能步骤
 *
 * @author Dcsgo
 * @since 21/7/2025 上午 9:01
 */

public interface Builder {
    /**
     * 重置生成器，为生产汽车做准备
     */
    void reset();

    /**
     * 设置所生产汽车的座位
     *
     * @param number 座位数
     */
    void setSeats(int number);

    /**
     * 设置所生产汽车的引擎
     *
     * @param engine 所生产汽车的引擎
     */
    void setEngine(Engine engine);

    /**
     * 设置所生产汽车的里程计算机
     */
    void setTripComputer(String tripComputer);

    /**
     * 设置所生产汽车的GPS
     */
    void setGps(String gps);
}
